1、整型

| 类型  | 存储需求 | 取值范围       |
| :---: | -------- | -------------- |
|  int  | 4个字节  | -2^31 ~ 2^31-1 |
| short | 2个字节  | -2^15 ~ 2^15-1 |
| long  | 8个字节  | -2^63 ~ 2^63   |
| byte  | 1个字节  | -2^7  ~ 2^7    |
|       |          |                |

* 10_000_000 =1000000  都是100万的写法  java编译器会去掉下划线

2、浮点型

| 类型   | 存储需求 | 取值范围                  | 有效位数 | 后缀	|
| :---:  | -------- | --------------------------| -------- | ------ |
| float	 | 4个字节  | 2^-149 ~ (2-2^-23)· 2^127 | 6-7	   | 0f		|
| double | 8个字节  | 2^-1074 ~(2-2^-52)· 2^1023| 15	   | 0d		|

* 所有浮点数值计算都遵循IEEE754规范。
* 三个特殊的浮点数:
  (1) 正无穷大(POSITIVE_INFINITY)
  (2) 负无穷大(NEGATIVE_INFINITY)
  (3) NaN(不是一个数字) (NaN)
* 浮点数不能用作不能有误差的精度计算,需要用BigD
        # 设置math上下文 4表示精度,后面为舍入模式
		MathContext mathContext=new MathContext(4,RoundingMode.HALF_DOWN);
        BigDecimal bug=new BigDecimal(2.0d);
        BigDecimal bug2=new BigDecimal(1.1d);
        bug.subtract(bug2,mathContext);
       结果为:0.90
* 8种舍入模式(RoundingMode枚举)
  CEILING：    向正无限大方向舍入的舍入模式。
  DOWN：       向零方向舍入的舍入模式。
  FLOOR ：     向负无限大方向舍入的舍入模式。
  HALF_DOWN：  向最接近数字方向舍入的舍入模式，如果与两个相邻数字的距离相等，则向下舍入。
  HALF_EVEN：  向最接近数字方向舍入的舍入模式，如果与两个相邻数字的距离相等，则向相邻的偶数舍入。
  HALF_UP：    向最接近数字方向舍入的舍入模式，如果与两个相邻数字的距离相等，则向上舍入。
  UNNECESSARY：用于断言请求的操作具有精确结果的舍入模式，因此不需要舍入。
  UP ：        远离零方向舍入的舍入模式。
  
3、CHAR
  char类型的字面量型要用单引号括起来。
  char类型可以用16进制表示(\u0000-\Uffff);
  
 *特殊字符的转义序列:
 类型    转义序列   Unicode编码
 退格     \b 		\u0008
 制表     \t 		\u0009
 换行     \n 		\u000a
 回车     \r 		\u000d
 双引号   \" 		\u0022
 单引号   \' 		\u0027
 反斜杠   \\ 		\u005c
 
4、Boolean
boolean类型有2个值 true和false 用来判断逻辑条件。
布尔类型和整型值不能进行互相转换。
